package ${packageName}<#if moduleName??>.${moduleName}</#if>.entity<#if subModuleName??>.${subModuleName}</#if>;

import lombok.*;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
<#list imports as i>
import ${i!};
</#list>
import ${packageName}<#if moduleName??>.${moduleName}</#if>.entity<#if subModuleName??>.${subModuleName}</#if>.base.BaseEntity;


/**
 * ${tableComment}
 *
 * @author ${author} ${email}
 * @since ${version} ${date}
 */
@Data
@Builder
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper=false)
@TableName("${tableName}")
public class ${ClassName} extends BaseEntity {
<#list columnList as column>
	<#if baseClassEntity?? && baseClassEntity.fields?split(",")?seq_contains(column.columnName)>
    <#else>
	<#if column.columnComment!?length gt 0>
	/**
	* ${column.columnComment}
	*/
	</#if>
	<#if "deleted"?split(",")?seq_contains(column.columnName)>
	@TableLogic
	</#if>
    <#if "creator,create_time,org_id,deleted"?split(",")?seq_contains(column.columnName)>
	@TableField(fill = FieldFill.INSERT)
	</#if>
    <#if "updater,update_time"?split(",")?seq_contains(column.columnName)>
	@TableField(fill = FieldFill.INSERT_UPDATE)
	</#if>
	<#if column.attrType == "LocalDateTime">
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	</#if>
	<#if column.attrType == "LocalDate">
	@JsonFormat(pattern = "yyyy-MM-dd")
	</#if>
	private ${column.attrType} ${column.attrName};

	</#if>
</#list>
}